XXI Opencup GP of Tokyo
B
傻了,& 和 | 操作没有可下手之处,但是操作等价于选一个位置,删除它的一个 neighbor
枚举最后赢家是哪个 1。
dpi 表示 i 个用这种删除方法删光的方案,$dp_i = dp_{i - 1} (2 i - 1),表示i种「i最后删除」的方案,i - 1种「i$ 作为邻居被删除」的方案
I
必然是一段上升子序列选最长的,剩下就是凑数用。
填数可以填在小于自己的 xi 前面,方案乘积为答案。
H
考虑期望的线性性,考虑每个 bi 的贡献。
它产生贡献当且仅当它在所有 ai 删完之前删了
考虑容斥,枚举至少在它之后删的 a 中集合 S,容斥系数 (−1)|S|
理智推柿:
∑S⊆U(−1)|S|∑i(1−∑j∈Saj+bsum)ibsum
=∑S⊆U(−1)|S|b∑j∈Saj+b
只和 ∑aj 有关,dp 即可。
为什么不能直接算 b 在所有 a 之后的概率?题设中的概率计算方式,限制我们只能从前往后,不能倒着妄图 bb+n∑j=1aj。
F
woc 题目读错了,只要 n−1 和 n 的 lca
设 lca(n−1,n)=x,sz[x]=S 的方案数是 (S−1)!2。证明大概考虑补集转化,总数为 (n−1)!,然后任意一个 lca=x 某个儿子的方案都可以将 n−1 所在分支子树拆出来挂成 x 儿子,即合法方案和不合法方案之间构成双射。
这个方案数要乘给关于 S 的 OGF 里。分治 FFT 卷这个 OGF,x 子树的贡献 $(x - 1) a_x \prod_i (1 + a_iz),第一项表示x$ 选父亲。
E
普通图的匹配方案数是 np 问题吧…… 事有蹊跷
注意到每个点出入度都至多为 2,4-sat?AB 用处不止于此。完全不会。
官解:
B≤√n 时状压即可。维护一个状态条,一格格移。
否则:B 大,可是 n/B 小啊!
设 g=gcd(A,B)
若 g=1,将每个点对应到一个 (n/B)∗B 的矩阵,点 v 对应到 (x,y) 满足 x=⌊vB⌋, yA≡v(modB),在方格图上从左往右做状压。
关于细节:需要高维前缀和,需要枚举第一列内部配对状态以及第一列指向第二列的配对状态。
若 g>1,则为了让点与格点的映射关系不串,需要分开做然后方案数乘起来。(同余什么的好玄学啊…… 自己画几组小样例玩玩)
C
上次咕了的题,这次一定!(订完这道就去写数学作业
B∑b=0R∑r=0(b+rb)((B−b)+(R−r)B−b)min(rb,R−rB−b)
=∑A=1B∑b=0R∑r=0(b+rb)((B−b)+(R−r)B−b)[bA≤r][(B−b)A≤(R−r)]
=∑A=1R−B∑i=r−bA=0B∑b=0(b+rb)((B−b)+(R−r)B−b)
即将 b 视为 x,r 视为 y,y=Ax+ 一个常数 i,构成了一个平行四边形形状的区域,枚举路径经过的点 (b,Ab+i), 说明要统计的是所有路径经过这个区域的点的次数和。
先来解决前置问题:
求解 f(W,A,P) 表示从 (0,0) 到 (W,AW+P) 且中途不跨过 y=Ax+P 的路径条数。
枚举第一次跨过的位置:
f(W,A,P)+W−1∑i=0f(i,A,P)((A+1)(W−i)−1W−i)=((A+1)W+PW)(I)
考虑一条从 (0,0) 到 (W−1,AW+P+1) 的路径,其必然跨过 y=Ax+P(题外话:你一直记不住的 Catalan 数就是这么推的,(0,0) 到 (n,n) 的路径 −(0,0) 到 (n−1,n+1) 的路径 =(2nn)−(2nn−1) )
((A+1)W+PW−1)=W−1∑i=0f(i,A,P)((A+1)(W−i)−1W−i−1)=W−1∑i=0f(i,A,P)1A((A+1)(W−i)−1W−i)(II)
(I)−A(II) 得出 f(W,A,P)=((A+1)W+PW)−A((A+1)W+PW−1)
考虑计算某条路径 y=Ax+P 被所有 (0,0) 到 (W,H) 直线经过的次数和,记为 g(W,H,A,P),保证 H≥AW+P
枚举路径上的点:g(W,H,A,B)=W∑i=0((A+1)i+Pi)(W+H−(A+1)i−PW−i)
这么快速得到 g 呢?我们还和之前 f 一样,考虑 g(W,H,A,B)−Ag(W−1,H+1,A,B)
=W∑i=0((A+1)i+Pi)((W+H−(A+1)i−PW−i)−(W+H−(A+1)i−PW−1−i))
=W∑i=0((A+1)i+Pi)f(W−i,A,H−AW−P)
其组合意义也很好想,(0,0) 走到 (i,Ai+P),再在不跨过 y=Ax+P 的情况下走到 (W,H)(未来的你会绕晕吗,如果会,那你比现在的我逊 /大杯 但是这个组合意义显然正确)
实际上这玩意 =(W+H+1W)!!!没想到吧,和 A、P 无关(xyx:A、P 只是我们对路径的分类方式)
可以看作,枚举 最后一次碰到 y=Ax+P 的位置 p,在 p 位置向上走一格,走到 (W,H+1) 的方案数。
因此我们终于得到了:
g(W,H,A,B)−Ag(W−1,H+1,A,P)=(W+H+1W)
g(W,H,A,B)=W∑i=0(W+H+1i)AW−i
结 果 与 P 无 关
最后一步了。因为结果和 P 无关,所以 A 相同的线段合在一起算。
ans=R/B∑A=1(R−AB+1)B∑i=0(R+B+1i)AB−i
=B∑i=0(R+B+1i)[(R+1)R/B∑A=1AB−i−BR/B∑A=1AB−i+1]
法一:
伯努利数计算自然数幂和即可。
什么你不知道伯努利数?owo
伯努利数满足 B0=1, n−1∑i=0(ni)Bi=0
nlogn 求解伯努利数:
n−1∑i=0(ni)Bi+Bn=Bn
n∑i=0(ni)Bn=Bn
n∑i=0Bi(n−i)!i!=Bnn!
EGF 出来了。准确来说,B(x)=∑i≥0(Bii!+[i==1])xi
即 B(x)ex=B(x)+x
B(x)=xex−1
法二:
计算 ex+e2x+⋯+e(R/B)x,等比数列求和,1−e((R/B)+1)x1−ex
upd: 我的全家桶太慢了,卡了别人板子才过的…… 烦
woc 好好一场 XXI,一道 C 题占一半篇幅 /tuu
A
写在「LGV」
J
咕咕咕